Many companies having web sites on the World Wide Web enrich the experience of visiting their sites by using content from other service providers or web sites. For instance, a web portal can integrate numerous services from other web sites, such as travel information and search capabilities. The supplier of these services, such as the particular travel company providing the travel information, can benefit from greater exposure and/or an increase in income. The integration of these services, also called web services, typically enables the web portal to offer more services to its users.
Referring to FIG. 1, a computer system 100 known to the prior art typically includes a client computer 105, or client, a content server 110, and a web server 115. The client 105 is typically a personal computer that can download content from the content server 110 and/or web server 115 over a network 120, such as the Internet or World Wide Web. The client 105 is typically in communication with the content server 110 over a client-content server communication channel 130. Moreover, the client 105 is typically in communication with the web server 115 over a client-web server communication channel 135.
The client 105 may also include a web browser 140, such as INTERNET EXPLORER developed by Microsoft Corporation in Redmond, Wash. or NETSCAPE NAVIGATOR developed by Netscape Communications Corporation of Mountain View, Calif., to connect to the web and/or download content from the servers 110, 115. A conventional content server 110 hosts one or more programs or files that can be accessed by the client 105. The web server 115 typically delivers web pages to the client 105 (e.g., web browser 140).
To advertise web services, firms or companies can publish their services on the web using the content server 110. As more and more web services are written, a central repository (i.e., depository) for public web services, or a web service directory 145, is typically stored on the content server 110. The web service directory 145 may include a table listing supported web services and may also include documentation for each listed web service.
One example of the web service directory 145 includes the Universal Description, Discovery, and Integeration (UDDI) registry, jointly developed by Microsoft Corporation of Redmond, Wash., International Business Machines Corporation of Armonk, N.Y., and Ariba Inc. of Sunnyvale, Calif. Web services can alternatively be published on the web service directory 145 using the Lightweight Directory Access Protocol (LDAP), Microsoft's ACTIVE DIRECTORY, developed by Microsoft Corporation of Redmond, Wash., Common Object Request Broker Architecture (CORBA) name service, or ebXML service registry developed by the Organization for the Advancement of Structured Information Standards (OASIS) of Billerica, Mass.
A potential user of the conventional web service uses the client 105 to access the web service directory 145. The client 105 typically accesses the web service through a programming interface. For example, the service may be encoded by an interface description language, such as Web Services Description Language (WSDL). Alternatively, the client 105 may access the web service through a web page or a web page address (i.e., a Uniform Resource Locator, or URL).
There are several drawbacks to using the conventional techniques of accessing a web service. Programmatic service interfaces, for instance, typically require client-side applications (having client-side application logic) to be developed by the supplier of the web service to ensure that the client 105 can properly execute the web service through its interface. Moreover, web pages typically require an application to have a web user interface (UI) to access the web page. A web UI can limit the amount of interactivity between a user of the client 105 and the web page. For example, the amount of interactivity can be limited by delays in loading the next screen or object. Additionally, using a web UI for the execution of an application may constrain the complexity of the interface.
Therefore, there is a need to access web services in a more user-friendly manner, such as by providing greater interactivity between the client 105 and the web service and less dependence on suppliers of web services for applications to correctly execute with the web service.